package com.newtouch.bxzs.business.train.model.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 课程返回BO
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/2/22 10:56</td>
 * <td>dingqianbin</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author dingqianbin
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
@ApiModel(value = "课程返回BO")
public class CourseBO implements Serializable {

    private static final long serialVersionUID = 3385521846322470201L;

    @ApiModelProperty(value = "课程ID")
    private String courseId;

    @ApiModelProperty(value = "课程标题")
    private String courseTitle;

    @ApiModelProperty(value = "课程类型")
    private String courseType;

    @ApiModelProperty(value = "课程简介")
    private String courseIntroduction;

    @ApiModelProperty(value = "发布人姓名")
    private String publisherName;

    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date publishTime;

    @ApiModelProperty(value = "撤销时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date revokeTime;

    @ApiModelProperty(value = "发布状态：1-未发布；2-已发布；5-已撤销；")
    private String publishStatus;

    @ApiModelProperty(value = "缩略图路径")
    private String thumbnailPath;

    @ApiModelProperty(value = "缩略图名称")
    private String thumbnailName;

    @ApiModelProperty(value = "附件路径")
    private String enclosurePath;

    @ApiModelProperty(value = "附件路径")
    private String enclosureName;

    @ApiModelProperty(value = "课程评分")
    private Double courseScore;

    @ApiModelProperty(value = "学习人数")
    private Integer learningCount ;

    @ApiModelProperty(value = "学习进度")
    private Integer rateOfLearning ;

    @ApiModelProperty(value = "客户课程详情返回BO")
    private UserCourseBO userCourseBO ;

    @ApiModelProperty(value = "上次学习时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm", locale="zh", timezone="GMT+8")
    private Date lastLearnTime;
}
